package com.calabar.phm.etl.operator.api;

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;

/**
 * @Author zmc <mingcheng.zhang@cdcalabar.com>
 * @Date 17-5-18 下午3:15
 * @Version v2.0
 * @Des 计算算子基类
 */
public interface ComputeTransformer {


    /**
     * 算子处理逻辑
     *
     * @param session spark上下文环境
     * @param df      算子处理需要的输入数据
     * @return 算子处理完毕输出的数据
     * @throws Exception
     */
    Dataset<Row> transform(SparkSession session, Dataset<Row>... df) throws Exception;
}
